pragma Style_Checks (Off);
package Mat.Expressions.Parser_Shift_Reduce is

    type Small_Integer is range -32_000 .. 32_000;

    type Shift_Reduce_Entry is record
        T   : Small_Integer;
        Act : Small_Integer;
    end record;
    pragma Pack(Shift_Reduce_Entry);

    subtype Row is Integer range -1 .. Integer'Last;

  --pragma suppress(index_check);

    type Shift_Reduce_Array is array (Row  range <>) of Shift_Reduce_Entry;

    Shift_Reduce_Matrix : constant Shift_Reduce_Array :=
        ( (-1,-1) -- Dummy Entry

-- State  0
,( 2, 14),( 4, 13),( 6, 10),( 8, 5),( 9, 4),( 10, 3),( 15, 6),( 20, 11),( 22, 9),( 24, 7),( 25, 8),( 31, 2),(-1,-3000)
-- State  1
,( 11, 16),( 12, 17),(-1,-1)
-- State  2
,( 2, 14),( 4, 13),( 6, 10),( 8, 5),( 9, 4),( 10, 3),( 15, 6),( 20, 11),( 22, 9),( 24, 7),( 25, 8),( 31, 2),(-1,-3000)
-- State  3
,( 2, 14),( 4, 13),( 6, 10),( 8, 5),( 9, 4),( 10, 3),( 15, 6),( 20, 11),( 22, 9),( 24, 7),( 25, 8),( 31, 2),(-1,-3000)
-- State  4
,( 26, 20),(-1,-26)
-- State  5
,( 26, 20),(-1,-26)
-- State  6
,( 2, 14),( 4, 13),(-1,-3000)
-- State  7
,( 2, 14),( 4, 13),(-1,-3000)
-- State  8
,( 2, 14),( 4, 13),(-1,-3000)
-- State  9
,( 2, 14),( 4, 13),(-1,-3000)
-- State  10
,( 13, 28),( 14, 29),( 19, 30),(-1,-3000)
-- State  11
,(-1,-15)
-- State  12
,(-1,-16)
-- State  13
,(-1,-17)
-- State  14
,(-1,-18)
-- State  15
,( 0,-3001),(-1,-3000)
-- State  16
,( 2, 14),( 4, 13),( 6, 10),( 8, 5),( 9, 4),( 10, 3),( 15, 6),( 20, 11),( 22, 9),( 24, 7),( 25, 8),( 31, 2),(-1,-3000)
-- State  17
,( 2, 14),( 4, 13),( 6, 10),( 8, 5),( 9, 4),( 10, 3),( 15, 6),( 20, 11),( 22, 9),( 24, 7),( 25, 8),( 31, 2),(-1,-3000)
-- State  18
,( 11, 16),( 12, 17),( 32, 34),(-1,-3000)
-- State  19
,(-1,-3)
-- State  20
,(-1,-27)
-- State  21
,( 2, 14),( 4, 13),(-1,-3000)
-- State  22
,( 2, 14),( 4, 13),(-1,-3000)
-- State  23
,(-1,-25)
-- State  24
,( 18, 37),(-1,-3000)
-- State  25
,(-1,-9)
-- State  26
,(-1,-10)
-- State  27
,(-1,-11)
-- State  28
,( 9, 38),(-1,-3000)
-- State  29
,( 9, 39),(-1,-3000)
-- State  30
,( 9, 40),(-1,-3000)
-- State  31
,(-1,-3000)
-- State  32
,( 12, 17),(-1,-4)
-- State  33
,(-1,-5)
-- State  34
,(-1,-2)
-- State  35
,(-1,-6)
-- State  36
,(-1,-7)
-- State  37
,( 2, 14),( 4, 13),(-1,-3000)
-- State  38
,( 29, 42),(-1,-3000)
-- State  39
,( 29, 42),(-1,-3000)
-- State  40
,( 29, 42),(-1,-3000)
-- State  41
,(-1,-8)
-- State  42
,( 1, 48),( 3, 46),(-1,-3000)
-- State  43
,(-1,-12)
-- State  44
,(-1,-13)
-- State  45
,(-1,-14)
-- State  46
,(-1,-24)
-- State  47
,( 28, 50),( 33, 49),(-1,-3000)
-- State  48
,( 30, 51),(-1,-3000)
-- State  49
,( 3, 46),(-1,-3000)
-- State  50
,( 3, 46),(-1,-3000)
-- State  51
,(-1,-23)
-- State  52
,( 30, 54),(-1,-3000)
-- State  53
,( 30, 55),(-1,-3000)
-- State  54
,(-1,-21)
-- State  55
,(-1,-22)
);
--  The offset vector
SHIFT_REDUCE_OFFSET : array (0.. 55) of Integer :=
( 0,
 13, 16, 29, 42, 44, 46, 49, 52, 55, 58, 62, 63, 64, 65, 66, 68,
 81, 94, 98, 99, 100, 103, 106, 107, 109, 110, 111, 112, 114, 116, 118, 119,
 121, 122, 123, 124, 125, 128, 130, 132, 134, 135, 138, 139, 140, 141, 142, 145,
 147, 149, 151, 152, 154, 156, 157);
end Mat.Expressions.Parser_Shift_Reduce;
